package org.jpass.dc.business.user.logic;

import java.util.List;

import org.jpass.dc.business.user.bean.UserVOBean;
import org.jpass.dc.common.bean.Page;

public interface UserManageLogic  {

	/**用户登录
	 * @param voBean 用户对象
	 */
	public UserVOBean login(UserVOBean voBean ) throws Exception;
	
	/**用户注册
	 * @param voBean 用户对象
	 */
	public String register(UserVOBean voBean) throws Exception;
	
	/**用户账户激活
	 * @param username 用户名
	 * @param token 激活码
	 */
	public boolean activate(String username, String token) throws Exception;
	
	/**用户忘记密码
	 * @param email 注册邮箱
	 */
	public UserVOBean forgetPass(String email) throws Exception;
	
	/**用户忘记密码
	 * @param email 注册邮箱
	 */
	public UserVOBean updatePass(String username, String password) throws Exception;
	
	/**
	 * 修改用户注销后的状态
	 * @param userId
	 * @return
	 * @throws Exception
	 */
	public boolean updateLogoutStatus(UserVOBean user) throws Exception;
	
	/**
	 * 返回所有用户列表
	 * @throws Exception
	 */
	public List<?> findUserList(Page page, String findUsername) throws Exception;
	
	/**
	 * 返回用户信息
	 * @param userId 用户id
	 * @throws Exception
	 */
	public UserVOBean findUserInfoById(String userId) throws Exception;
	
	/**
	 * 更改用户信息
	 * @param user 用户对象
	 * @throws Exception
	 */
	public boolean updateUserInfo(UserVOBean user) throws Exception;
	
	/**
	 * 更改用户信息
	 * @param user 用户对象
	 * @throws Exception
	 */
	public boolean modifyUserInfo(UserVOBean user) throws Exception;
	
	/**
	 * 更改用户密码
	 * @param userId 用户id
	 * @param password 用户新密码
	 * @throws Exception
	 */
	public boolean resetPass(String userId , String password) throws Exception;
	
	/**
	 * 删除用户
	 * @param deleteIds 用户id
	 * @throws Exception
	 */
	public boolean deleteUser(String deleteIds) throws Exception;
	
	
}
